#include"dao_CxxSTL.h"
#ifdef __cplusplus
extern "C"{
#endif
/* /usr/include/c++/4.0.0/bits/cpp_type_traits.h */


static DaoNumItem dao___true_type_Nums[] = 
{
  { NULL, 0, 0 }
};


static void dao___true_type___true_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao___true_type_Meths[] = 
{
  { dao___true_type___true_type, "__true_type(  )=>__true_type" },
  { NULL, NULL }
};
static void Dao___true_type_Delete( void *self )
{
	delete (__true_type*) self;
}

static DaoTypeBase __true_type_Typer = 
{ "__true_type", NULL,
  dao___true_type_Nums,
  dao___true_type_Meths,
  { NULL },
  { NULL },
  Dao___true_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_CXXSTL *dao___true_type_Typer = & __true_type_Typer;
static void dao___true_type___true_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	__true_type *self = Dao___true_type_New();
	DaoContext_PutCData( _ctx, self, dao___true_type_Typer );
}
/* /usr/include/c++/4.0.0/bits/cpp_type_traits.h */


static DaoNumItem dao___false_type_Nums[] = 
{
  { NULL, 0, 0 }
};


static void dao___false_type___false_type( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao___false_type_Meths[] = 
{
  { dao___false_type___false_type, "__false_type(  )=>__false_type" },
  { NULL, NULL }
};
static void Dao___false_type_Delete( void *self )
{
	delete (__false_type*) self;
}

static DaoTypeBase __false_type_Typer = 
{ "__false_type", NULL,
  dao___false_type_Nums,
  dao___false_type_Meths,
  { NULL },
  { NULL },
  Dao___false_type_Delete,
  NULL
};
DaoTypeBase DAO_DLL_CXXSTL *dao___false_type_Typer = & __false_type_Typer;
static void dao___false_type___false_type( DaoContext *_ctx, DValue *_p[], int _n )
{
	__false_type *self = Dao___false_type_New();
	DaoContext_PutCData( _ctx, self, dao___false_type_Typer );
}
/* ./stl.h */


static DaoNumItem dao_Dummy_Nums[] = 
{
  { NULL, 0, 0 }
};


static void dao_Dummy_Dummy( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_Dummy_test( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_Dummy_Meths[] = 
{
  { dao_Dummy_Dummy, "Dummy(  )=>Dummy" },
  { dao_Dummy_test, "test( self :Dummy, s :stdcxx::string )" },
  { NULL, NULL }
};
static void Dao_Dummy_Delete( void *self )
{
	delete (Dummy*) self;
}

static DaoTypeBase Dummy_Typer = 
{ "Dummy", NULL,
  dao_Dummy_Nums,
  dao_Dummy_Meths,
  { NULL },
  { NULL },
  Dao_Dummy_Delete,
  NULL
};
DaoTypeBase DAO_DLL_CXXSTL *dao_Dummy_Typer = & Dummy_Typer;
static void dao_Dummy_Dummy( DaoContext *_ctx, DValue *_p[], int _n )
{
	Dummy *self = Dao_Dummy_New();
	DaoContext_PutCData( _ctx, self, dao_Dummy_Typer );
}
/* ./stl.h */
static void dao_Dummy_test( DaoContext *_ctx, DValue *_p[], int _n )
{
  Dummy* self= (Dummy*) DValue_CastCData( _p[0], dao_Dummy_Typer );
  std::string* s= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );

  self->Dummy::test( *s );
}
/* ./stl.h */


static DaoNumItem dao_StringList_Nums[] = 
{
  { NULL, 0, 0 }
};


static void dao_StringList_StringList_dao_5( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_StringList_dao_6( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_StringList_dao_7( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_StringList_dao_8( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_StringList( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_StringList_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_StringList_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_StringList_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_operator_11_( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_assign( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_max_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_resize( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_resize_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_capacity( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_empty( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_reserve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_operator_30_( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_operator_30__dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_at( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_at_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_front( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_front_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_back( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_back_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_push_back( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_pop_back( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_swap( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringList_clear( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_StringList_Meths[] = 
{
  { dao_StringList_StringList_dao_5, "StringList( __a :class std::allocator<class std::basic_string<char> > )=>StringList" },
  { dao_StringList_StringList_dao_6, "StringList( __n :int, __value :stdcxx::string, __a :class std::allocator<class std::basic_string<char> > )=>StringList" },
  { dao_StringList_StringList_dao_7, "StringList( __n :int )=>StringList" },
  { dao_StringList_StringList_dao_8, "StringList( __x :StringList )=>StringList" },
  { dao_StringList_StringList, "StringList( __a :class std::allocator<class std::basic_string<char> > )=>StringList" },
  { dao_StringList_StringList_dao_2, "StringList( __n :int, __value :stdcxx::string, __a :class std::allocator<class std::basic_string<char> > )=>StringList" },
  { dao_StringList_StringList_dao_3, "StringList( __n :int )=>StringList" },
  { dao_StringList_StringList_dao_4, "StringList( __x :StringList )=>StringList" },
  { dao_StringList_operator_11_, "operator=( self :StringList, __x :StringList )=>StringList" },
  { dao_StringList_assign, "assign( self :StringList, __n :int, __val :stdcxx::string )" },
  { dao_StringList_size, "size( self :StringList )=>int" },
  { dao_StringList_max_size, "max_size( self :StringList )=>int" },
  { dao_StringList_resize, "resize( self :StringList, __new_size :int, __x :stdcxx::string )" },
  { dao_StringList_resize_dao_2, "resize( self :StringList, __new_size :int )" },
  { dao_StringList_capacity, "capacity( self :StringList )=>int" },
  { dao_StringList_empty, "empty( self :StringList )=>int" },
  { dao_StringList_reserve, "reserve( self :StringList, __n :int )" },
  { dao_StringList_operator_30_, "operator[]( self :StringList, __n :int )=>stdcxx::string" },
  { dao_StringList_operator_30__dao_2, "operator[]( self :StringList, __n :int )=>stdcxx::string" },
  { dao_StringList_at, "at( self :StringList, __n :int )=>stdcxx::string" },
  { dao_StringList_at_dao_2, "at( self :StringList, __n :int )=>stdcxx::string" },
  { dao_StringList_front, "front( self :StringList )=>stdcxx::string" },
  { dao_StringList_front_dao_2, "front( self :StringList )=>stdcxx::string" },
  { dao_StringList_back, "back( self :StringList )=>stdcxx::string" },
  { dao_StringList_back_dao_2, "back( self :StringList )=>stdcxx::string" },
  { dao_StringList_push_back, "push_back( self :StringList, __x :stdcxx::string )" },
  { dao_StringList_pop_back, "pop_back( self :StringList )" },
  { dao_StringList_swap, "swap( self :StringList, __x :StringList )" },
  { dao_StringList_clear, "clear( self :StringList )" },
  { NULL, NULL }
};
static void Dao_StringList_Delete( void *self )
{
	delete (StringList*) self;
}

static DaoTypeBase StringList_Typer = 
{ "StringList", NULL,
  dao_StringList_Nums,
  dao_StringList_Meths,
  { NULL },
  { NULL },
  Dao_StringList_Delete,
  NULL
};
DaoTypeBase DAO_DLL_CXXSTL *dao_StringList_Typer = & StringList_Typer;
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_StringList_dao_5( DaoContext *_ctx, DValue *_p[], int _n )
{
  class std::allocator<class std::basic_string<char> >* __a= (class std::allocator<class std::basic_string<char> >*) DValue_CastCData( _p[0], dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Typer );

	DaoCxx_StringList *_self = DaoCxx_StringList_New( *__a );
	DaoContext_PutResult( _ctx, (DaoBase*) _self->cdata );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_StringList_dao_6( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned long __n= (unsigned long) _p[0]->v.i;
  std::string* __value= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );
  class std::allocator<class std::basic_string<char> >* __a= (class std::allocator<class std::basic_string<char> >*) DValue_CastCData( _p[2], dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Typer );

	DaoCxx_StringList *_self = DaoCxx_StringList_New( __n, *__value, *__a );
	DaoContext_PutResult( _ctx, (DaoBase*) _self->cdata );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_StringList_dao_7( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned long __n= (unsigned long) _p[0]->v.i;

	DaoCxx_StringList *_self = DaoCxx_StringList_New( __n );
	DaoContext_PutResult( _ctx, (DaoBase*) _self->cdata );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_StringList_dao_8( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* __x= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );

	DaoCxx_StringList *_self = DaoCxx_StringList_New( *__x );
	DaoContext_PutResult( _ctx, (DaoBase*) _self->cdata );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_StringList( DaoContext *_ctx, DValue *_p[], int _n )
{
  class std::allocator<class std::basic_string<char> >* __a= (class std::allocator<class std::basic_string<char> >*) DValue_CastCData( _p[0], dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Typer );

	DaoCxx_StringList *_self = DaoCxx_StringList_New( *__a );
	DaoContext_PutResult( _ctx, (DaoBase*) _self->cdata );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_StringList_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned long __n= (unsigned long) _p[0]->v.i;
  std::string* __value= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );
  class std::allocator<class std::basic_string<char> >* __a= (class std::allocator<class std::basic_string<char> >*) DValue_CastCData( _p[2], dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Typer );

	DaoCxx_StringList *_self = DaoCxx_StringList_New( __n, *__value, *__a );
	DaoContext_PutResult( _ctx, (DaoBase*) _self->cdata );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_StringList_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned long __n= (unsigned long) _p[0]->v.i;

	DaoCxx_StringList *_self = DaoCxx_StringList_New( __n );
	DaoContext_PutResult( _ctx, (DaoBase*) _self->cdata );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_StringList_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* __x= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );

	DaoCxx_StringList *_self = DaoCxx_StringList_New( *__x );
	DaoContext_PutResult( _ctx, (DaoBase*) _self->cdata );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_operator_11_( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );
  StringList* __x= (StringList*) DValue_CastCData( _p[1], dao_StringList_Typer );

  std::vector<std::basic_string<char>,std::allocator<std::basic_string<char> > >& _operator_11_ = self->StringList::operator=( *__x );
  DaoContext_WrapCData( _ctx, (void*)& _operator_11_, dao_StringList_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_assign( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;
  std::string* __val= (std::string*) DValue_CastCData( _p[2], dao_std_0_string_Typer );

  self->StringList::assign( __n, *__val );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );

  StringList::size_type _size = self->StringList::size(  );
  DaoContext_PutInteger( _ctx, (int) _size );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_max_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );

  StringList::size_type _max_size = self->StringList::max_size(  );
  DaoContext_PutInteger( _ctx, (int) _max_size );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_resize( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );
  unsigned long __new_size= (unsigned long) _p[1]->v.i;
  std::string* __x= (std::string*) DValue_CastCData( _p[2], dao_std_0_string_Typer );

  self->StringList::resize( __new_size, *__x );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_resize_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );
  unsigned long __new_size= (unsigned long) _p[1]->v.i;

  self->StringList::resize( __new_size );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_capacity( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );

  StringList::size_type _capacity = self->StringList::capacity(  );
  DaoContext_PutInteger( _ctx, (int) _capacity );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_empty( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );

  bool _empty = self->StringList::empty(  );
  DaoContext_PutInteger( _ctx, (int) _empty );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_reserve( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;

  self->StringList::reserve( __n );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_operator_30_( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;

  StringList::reference _operator_30_ = self->StringList::operator[]( __n );
  DaoContext_WrapCData( _ctx, (void*)& _operator_30_, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_operator_30__dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;

  StringList::const_reference _operator_30_ = self->StringList::operator[]( __n );
  DaoContext_WrapCData( _ctx, (void*)& _operator_30_, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_at( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;

  StringList::reference _at = self->StringList::at( __n );
  DaoContext_WrapCData( _ctx, (void*)& _at, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_at_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;

  StringList::const_reference _at = self->StringList::at( __n );
  DaoContext_WrapCData( _ctx, (void*)& _at, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_front( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );

  StringList::reference _front = self->StringList::front(  );
  DaoContext_WrapCData( _ctx, (void*)& _front, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_front_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );

  StringList::const_reference _front = self->StringList::front(  );
  DaoContext_WrapCData( _ctx, (void*)& _front, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_back( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );

  StringList::reference _back = self->StringList::back(  );
  DaoContext_WrapCData( _ctx, (void*)& _back, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_back_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );

  StringList::const_reference _back = self->StringList::back(  );
  DaoContext_WrapCData( _ctx, (void*)& _back, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_push_back( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );
  std::string* __x= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );

  self->StringList::push_back( *__x );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_pop_back( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );

  self->StringList::pop_back(  );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_swap( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );
  StringList* __x= (StringList*) DValue_CastCData( _p[1], dao_StringList_Typer );

  self->StringList::swap( *__x );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList_clear( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringList* self= (StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );

  self->StringList::clear(  );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList__M_range_check( DaoContext *_ctx, DValue *_p[], int _n )
{
  DaoCxx_StringList* self= (DaoCxx_StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;

  self->DaoWrap__M_range_check( __n );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static void dao_StringList__M_fill_assign( DaoContext *_ctx, DValue *_p[], int _n )
{
  DaoCxx_StringList* self= (DaoCxx_StringList*) DValue_CastCData( _p[0], dao_StringList_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;
  std::string* __val= (std::string*) DValue_CastCData( _p[2], dao_std_0_string_Typer );

  self->DaoWrap__M_fill_assign( __n, *__val );
}
/* ./stl.h */


static DaoNumItem dao_StringMap_Nums[] = 
{
  { NULL, 0, 0 }
};


static void dao_StringMap_StringMap_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_StringMap_dao_5( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_StringMap_dao_6( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_StringMap( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_StringMap_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_StringMap_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_operator_11_( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_empty( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_max_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_operator_30_( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_erase_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_swap( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_clear( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_StringMap_count( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_StringMap_Meths[] = 
{
  { dao_StringMap_StringMap_dao_4, "StringMap(  )=>StringMap" },
  { dao_StringMap_StringMap_dao_5, "StringMap( __comp :stdcxx::less<std::basic_string<char> >, __a :class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > > )=>StringMap" },
  { dao_StringMap_StringMap_dao_6, "StringMap( __x :StringMap )=>StringMap" },
  { dao_StringMap_StringMap, "StringMap(  )=>StringMap" },
  { dao_StringMap_StringMap_dao_2, "StringMap( __comp :stdcxx::less<std::basic_string<char> >, __a :class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > > )=>StringMap" },
  { dao_StringMap_StringMap_dao_3, "StringMap( __x :StringMap )=>StringMap" },
  { dao_StringMap_operator_11_, "operator=( self :StringMap, __x :StringMap )=>StringMap" },
  { dao_StringMap_empty, "empty( self :StringMap )=>int" },
  { dao_StringMap_size, "size( self :StringMap )=>int" },
  { dao_StringMap_max_size, "max_size( self :StringMap )=>int" },
  { dao_StringMap_operator_30_, "operator[]( self :StringMap, __k :stdcxx::string )=>stdcxx::string" },
  { dao_StringMap_erase_dao_2, "erase( self :StringMap, __x :stdcxx::string )=>int" },
  { dao_StringMap_swap, "swap( self :StringMap, __x :StringMap )" },
  { dao_StringMap_clear, "clear( self :StringMap )" },
  { dao_StringMap_count, "count( self :StringMap, __x :stdcxx::string )=>int" },
  { NULL, NULL }
};
static void Dao_StringMap_Delete( void *self )
{
	delete (StringMap*) self;
}

static DaoTypeBase StringMap_Typer = 
{ "StringMap", NULL,
  dao_StringMap_Nums,
  dao_StringMap_Meths,
  { NULL },
  { NULL },
  Dao_StringMap_Delete,
  NULL
};
DaoTypeBase DAO_DLL_CXXSTL *dao_StringMap_Typer = & StringMap_Typer;
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_StringMap_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{

	StringMap *_self = Dao_StringMap_New(  );
	DaoContext_PutCData( _ctx, _self, dao_StringMap_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_StringMap_dao_5( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::less<std::basic_string<char> >* __comp= (std::less<std::basic_string<char> >*) DValue_CastCData( _p[0], dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__Typer );
  class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > >* __a= (class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > >*) DValue_CastCData( _p[1], dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Typer );

	StringMap *_self = Dao_StringMap_New( *__comp, *__a );
	DaoContext_PutCData( _ctx, _self, dao_StringMap_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_StringMap_dao_6( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringMap* __x= (StringMap*) DValue_CastCData( _p[0], dao_StringMap_Typer );

	StringMap *_self = Dao_StringMap_New( *__x );
	DaoContext_PutCData( _ctx, _self, dao_StringMap_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_StringMap( DaoContext *_ctx, DValue *_p[], int _n )
{

	StringMap *_self = Dao_StringMap_New(  );
	DaoContext_PutCData( _ctx, _self, dao_StringMap_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_StringMap_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::less<std::basic_string<char> >* __comp= (std::less<std::basic_string<char> >*) DValue_CastCData( _p[0], dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__Typer );
  class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > >* __a= (class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > >*) DValue_CastCData( _p[1], dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Typer );

	StringMap *_self = Dao_StringMap_New( *__comp, *__a );
	DaoContext_PutCData( _ctx, _self, dao_StringMap_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_StringMap_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringMap* __x= (StringMap*) DValue_CastCData( _p[0], dao_StringMap_Typer );

	StringMap *_self = Dao_StringMap_New( *__x );
	DaoContext_PutCData( _ctx, _self, dao_StringMap_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_operator_11_( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringMap* self= (StringMap*) DValue_CastCData( _p[0], dao_StringMap_Typer );
  StringMap* __x= (StringMap*) DValue_CastCData( _p[1], dao_StringMap_Typer );

  std::map<std::basic_string<char>,std::basic_string<char>,std::less<std::basic_string<char> >,std::allocator<std::pair<const std::basic_string<char>,std::basic_string<char> > > >& _operator_11_ = self->StringMap::operator=( *__x );
  DaoContext_WrapCData( _ctx, (void*)& _operator_11_, dao_StringMap_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_empty( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringMap* self= (StringMap*) DValue_CastCData( _p[0], dao_StringMap_Typer );

  bool _empty = self->StringMap::empty(  );
  DaoContext_PutInteger( _ctx, (int) _empty );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringMap* self= (StringMap*) DValue_CastCData( _p[0], dao_StringMap_Typer );

  StringMap::size_type _size = self->StringMap::size(  );
  DaoContext_PutInteger( _ctx, (int) _size );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_max_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringMap* self= (StringMap*) DValue_CastCData( _p[0], dao_StringMap_Typer );

  StringMap::size_type _max_size = self->StringMap::max_size(  );
  DaoContext_PutInteger( _ctx, (int) _max_size );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_operator_30_( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringMap* self= (StringMap*) DValue_CastCData( _p[0], dao_StringMap_Typer );
  std::string* __k= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );

  std::basic_string<char>& _operator_30_ = self->StringMap::operator[]( *__k );
  DaoContext_WrapCData( _ctx, (void*)& _operator_30_, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_erase_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringMap* self= (StringMap*) DValue_CastCData( _p[0], dao_StringMap_Typer );
  std::string* __x= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );

  StringMap::size_type _erase = self->StringMap::erase( *__x );
  DaoContext_PutInteger( _ctx, (int) _erase );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_swap( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringMap* self= (StringMap*) DValue_CastCData( _p[0], dao_StringMap_Typer );
  StringMap* __x= (StringMap*) DValue_CastCData( _p[1], dao_StringMap_Typer );

  self->StringMap::swap( *__x );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_clear( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringMap* self= (StringMap*) DValue_CastCData( _p[0], dao_StringMap_Typer );

  self->StringMap::clear(  );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static void dao_StringMap_count( DaoContext *_ctx, DValue *_p[], int _n )
{
  StringMap* self= (StringMap*) DValue_CastCData( _p[0], dao_StringMap_Typer );
  std::string* __x= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );

  StringMap::size_type _count = self->StringMap::count( *__x );
  DaoContext_PutInteger( _ctx, (int) _count );
}
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C"{
#endif
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C"{
#endif
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C"{
#endif
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static DaoTypeBase std_0_basic_string_Typer = 
{ "basic_string", NULL, NULL, NULL, { NULL }, { NULL }, NULL, NULL };
DaoTypeBase DAO_DLL_CXXSTL *dao_std_0_basic_string_Typer = & std_0_basic_string_Typer;
/* ./stl.h */


static DaoNumItem dao_std_0_string_Nums[] = 
{
  { NULL, 0, 0 }
};


static void dao_std_0_string_string_dao_9( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_10( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_11( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_12( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_13( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_14( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_15( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_16( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_5( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_6( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_7( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_string_dao_8( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_operator_11_( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_operator_11__dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_operator_11__dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_length( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_max_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_resize( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_resize_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_capacity( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_reserve( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_clear( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_empty( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_operator_30_( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_operator_30__dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_at( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_at_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_operator_19_( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_operator_19__dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_operator_19__dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_append( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_append_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_append_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_append_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_append_dao_5( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_push_back( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_assign( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_assign_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_assign_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_assign_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_assign_dao_5( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_insert_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_insert_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_insert_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_insert_dao_5( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_insert_dao_6( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_erase( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_replace( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_replace_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_replace_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_replace_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_replace_dao_5( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_copy( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_swap( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_c_str( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_data( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_rfind( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_rfind_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_rfind_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_rfind_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_first_of( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_first_of_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_first_of_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_first_of_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_last_of( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_last_of_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_last_of_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_last_of_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_first_not_of( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_first_not_of_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_first_not_of_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_first_not_of_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_last_not_of( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_last_not_of_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_last_not_of_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_find_last_not_of_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_compare( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_compare_dao_2( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_compare_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_compare_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_compare_dao_5( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_string_compare_dao_6( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_std_0_string_Meths[] = 
{
  { dao_std_0_string_string_dao_9, "string(  )=>stdcxx::string" },
  { dao_std_0_string_string_dao_10, "string( __a :stdcxx::allocator<char> )=>stdcxx::string" },
  { dao_std_0_string_string_dao_11, "string( __str :stdcxx::string )=>stdcxx::string" },
  { dao_std_0_string_string_dao_12, "string( __str :stdcxx::string, __pos :int, __n :int )=>stdcxx::string" },
  { dao_std_0_string_string_dao_13, "string( __str :stdcxx::string, __pos :int, __n :int, __a :stdcxx::allocator<char> )=>stdcxx::string" },
  { dao_std_0_string_string_dao_14, "string( __s :dao::string, __n :int, __a :stdcxx::allocator<char> )=>stdcxx::string" },
  { dao_std_0_string_string_dao_15, "string( __s :dao::string, __a :stdcxx::allocator<char> )=>stdcxx::string" },
  { dao_std_0_string_string_dao_16, "string( __n :int, __c :int, __a :stdcxx::allocator<char> )=>stdcxx::string" },
  { dao_std_0_string_string, "string(  )=>stdcxx::string" },
  { dao_std_0_string_string_dao_2, "string( __a :stdcxx::allocator<char> )=>stdcxx::string" },
  { dao_std_0_string_string_dao_3, "string( __str :stdcxx::string )=>stdcxx::string" },
  { dao_std_0_string_string_dao_4, "string( __str :stdcxx::string, __pos :int, __n :int )=>stdcxx::string" },
  { dao_std_0_string_string_dao_5, "string( __str :stdcxx::string, __pos :int, __n :int, __a :stdcxx::allocator<char> )=>stdcxx::string" },
  { dao_std_0_string_string_dao_6, "string( __s :dao::string, __n :int, __a :stdcxx::allocator<char> )=>stdcxx::string" },
  { dao_std_0_string_string_dao_7, "string( __s :dao::string, __a :stdcxx::allocator<char> )=>stdcxx::string" },
  { dao_std_0_string_string_dao_8, "string( __n :int, __c :int, __a :stdcxx::allocator<char> )=>stdcxx::string" },
  { dao_std_0_string_operator_11_, "operator=( self :stdcxx::string, __str :stdcxx::string )=>stdcxx::string" },
  { dao_std_0_string_operator_11__dao_2, "operator=( self :stdcxx::string, __s :dao::string )=>stdcxx::string" },
  { dao_std_0_string_operator_11__dao_3, "operator=( self :stdcxx::string, __c :int )=>stdcxx::string" },
  { dao_std_0_string_size, "size( self :stdcxx::string )=>int" },
  { dao_std_0_string_length, "length( self :stdcxx::string )=>int" },
  { dao_std_0_string_max_size, "max_size( self :stdcxx::string )=>int" },
  { dao_std_0_string_resize, "resize( self :stdcxx::string, __n :int, __c :int )" },
  { dao_std_0_string_resize_dao_2, "resize( self :stdcxx::string, __n :int )" },
  { dao_std_0_string_capacity, "capacity( self :stdcxx::string )=>int" },
  { dao_std_0_string_reserve, "reserve( self :stdcxx::string, __res_arg :int )" },
  { dao_std_0_string_clear, "clear( self :stdcxx::string )" },
  { dao_std_0_string_empty, "empty( self :stdcxx::string )=>int" },
  { dao_std_0_string_operator_30_, "operator[]( self :stdcxx::string, __pos :int )=>int" },
  { dao_std_0_string_operator_30__dao_2, "operator[]( self :stdcxx::string, __pos :int )=>int" },
  { dao_std_0_string_at, "at( self :stdcxx::string, __n :int )=>int" },
  { dao_std_0_string_at_dao_2, "at( self :stdcxx::string, __n :int )=>int" },
  { dao_std_0_string_operator_19_, "operator+=( self :stdcxx::string, __str :stdcxx::string )=>stdcxx::string" },
  { dao_std_0_string_operator_19__dao_2, "operator+=( self :stdcxx::string, __s :dao::string )=>stdcxx::string" },
  { dao_std_0_string_operator_19__dao_3, "operator+=( self :stdcxx::string, __c :int )=>stdcxx::string" },
  { dao_std_0_string_append, "append( self :stdcxx::string, __str :stdcxx::string )=>stdcxx::string" },
  { dao_std_0_string_append_dao_2, "append( self :stdcxx::string, __str :stdcxx::string, __pos :int, __n :int )=>stdcxx::string" },
  { dao_std_0_string_append_dao_3, "append( self :stdcxx::string, __s :dao::string, __n :int )=>stdcxx::string" },
  { dao_std_0_string_append_dao_4, "append( self :stdcxx::string, __s :dao::string )=>stdcxx::string" },
  { dao_std_0_string_append_dao_5, "append( self :stdcxx::string, __n :int, __c :int )=>stdcxx::string" },
  { dao_std_0_string_push_back, "push_back( self :stdcxx::string, __c :int )" },
  { dao_std_0_string_assign, "assign( self :stdcxx::string, __str :stdcxx::string )=>stdcxx::string" },
  { dao_std_0_string_assign_dao_2, "assign( self :stdcxx::string, __str :stdcxx::string, __pos :int, __n :int )=>stdcxx::string" },
  { dao_std_0_string_assign_dao_3, "assign( self :stdcxx::string, __s :dao::string, __n :int )=>stdcxx::string" },
  { dao_std_0_string_assign_dao_4, "assign( self :stdcxx::string, __s :dao::string )=>stdcxx::string" },
  { dao_std_0_string_assign_dao_5, "assign( self :stdcxx::string, __n :int, __c :int )=>stdcxx::string" },
  { dao_std_0_string_insert_dao_2, "insert( self :stdcxx::string, __pos1 :int, __str :stdcxx::string )=>stdcxx::string" },
  { dao_std_0_string_insert_dao_3, "insert( self :stdcxx::string, __pos1 :int, __str :stdcxx::string, __pos2 :int, __n :int )=>stdcxx::string" },
  { dao_std_0_string_insert_dao_4, "insert( self :stdcxx::string, __pos :int, __s :dao::string, __n :int )=>stdcxx::string" },
  { dao_std_0_string_insert_dao_5, "insert( self :stdcxx::string, __pos :int, __s :dao::string )=>stdcxx::string" },
  { dao_std_0_string_insert_dao_6, "insert( self :stdcxx::string, __pos :int, __n :int, __c :int )=>stdcxx::string" },
  { dao_std_0_string_erase, "erase( self :stdcxx::string, __pos :int, __n :int )=>stdcxx::string" },
  { dao_std_0_string_replace, "replace( self :stdcxx::string, __pos :int, __n :int, __str :stdcxx::string )=>stdcxx::string" },
  { dao_std_0_string_replace_dao_2, "replace( self :stdcxx::string, __pos1 :int, __n1 :int, __str :stdcxx::string, __pos2 :int, __n2 :int )=>stdcxx::string" },
  { dao_std_0_string_replace_dao_3, "replace( self :stdcxx::string, __pos :int, __n1 :int, __s :dao::string, __n2 :int )=>stdcxx::string" },
  { dao_std_0_string_replace_dao_4, "replace( self :stdcxx::string, __pos :int, __n1 :int, __s :dao::string )=>stdcxx::string" },
  { dao_std_0_string_replace_dao_5, "replace( self :stdcxx::string, __pos :int, __n1 :int, __n2 :int, __c :int )=>stdcxx::string" },
  { dao_std_0_string_copy, "copy( self :stdcxx::string, __s :dao::string, __n :int, __pos :int )=>int" },
  { dao_std_0_string_swap, "swap( self :stdcxx::string, __s :stdcxx::string )" },
  { dao_std_0_string_c_str, "c_str( self :stdcxx::string )=>dao::string" },
  { dao_std_0_string_data, "data( self :stdcxx::string )=>dao::string" },
  { dao_std_0_string_find, "find( self :stdcxx::string, __s :dao::string, __pos :int, __n :int )=>int" },
  { dao_std_0_string_find_dao_2, "find( self :stdcxx::string, __str :stdcxx::string, __pos :int )=>int" },
  { dao_std_0_string_find_dao_3, "find( self :stdcxx::string, __s :dao::string, __pos :int )=>int" },
  { dao_std_0_string_find_dao_4, "find( self :stdcxx::string, __c :int, __pos :int )=>int" },
  { dao_std_0_string_rfind, "rfind( self :stdcxx::string, __str :stdcxx::string, __pos :int )=>int" },
  { dao_std_0_string_rfind_dao_2, "rfind( self :stdcxx::string, __s :dao::string, __pos :int, __n :int )=>int" },
  { dao_std_0_string_rfind_dao_3, "rfind( self :stdcxx::string, __s :dao::string, __pos :int )=>int" },
  { dao_std_0_string_rfind_dao_4, "rfind( self :stdcxx::string, __c :int, __pos :int )=>int" },
  { dao_std_0_string_find_first_of, "find_first_of( self :stdcxx::string, __str :stdcxx::string, __pos :int )=>int" },
  { dao_std_0_string_find_first_of_dao_2, "find_first_of( self :stdcxx::string, __s :dao::string, __pos :int, __n :int )=>int" },
  { dao_std_0_string_find_first_of_dao_3, "find_first_of( self :stdcxx::string, __s :dao::string, __pos :int )=>int" },
  { dao_std_0_string_find_first_of_dao_4, "find_first_of( self :stdcxx::string, __c :int, __pos :int )=>int" },
  { dao_std_0_string_find_last_of, "find_last_of( self :stdcxx::string, __str :stdcxx::string, __pos :int )=>int" },
  { dao_std_0_string_find_last_of_dao_2, "find_last_of( self :stdcxx::string, __s :dao::string, __pos :int, __n :int )=>int" },
  { dao_std_0_string_find_last_of_dao_3, "find_last_of( self :stdcxx::string, __s :dao::string, __pos :int )=>int" },
  { dao_std_0_string_find_last_of_dao_4, "find_last_of( self :stdcxx::string, __c :int, __pos :int )=>int" },
  { dao_std_0_string_find_first_not_of, "find_first_not_of( self :stdcxx::string, __str :stdcxx::string, __pos :int )=>int" },
  { dao_std_0_string_find_first_not_of_dao_2, "find_first_not_of( self :stdcxx::string, __s :dao::string, __pos :int, __n :int )=>int" },
  { dao_std_0_string_find_first_not_of_dao_3, "find_first_not_of( self :stdcxx::string, __s :dao::string, __pos :int )=>int" },
  { dao_std_0_string_find_first_not_of_dao_4, "find_first_not_of( self :stdcxx::string, __c :int, __pos :int )=>int" },
  { dao_std_0_string_find_last_not_of, "find_last_not_of( self :stdcxx::string, __str :stdcxx::string, __pos :int )=>int" },
  { dao_std_0_string_find_last_not_of_dao_2, "find_last_not_of( self :stdcxx::string, __s :dao::string, __pos :int, __n :int )=>int" },
  { dao_std_0_string_find_last_not_of_dao_3, "find_last_not_of( self :stdcxx::string, __s :dao::string, __pos :int )=>int" },
  { dao_std_0_string_find_last_not_of_dao_4, "find_last_not_of( self :stdcxx::string, __c :int, __pos :int )=>int" },
  { dao_std_0_string_compare, "compare( self :stdcxx::string, __str :stdcxx::string )=>int" },
  { dao_std_0_string_compare_dao_2, "compare( self :stdcxx::string, __pos :int, __n :int, __str :stdcxx::string )=>int" },
  { dao_std_0_string_compare_dao_3, "compare( self :stdcxx::string, __pos1 :int, __n1 :int, __str :stdcxx::string, __pos2 :int, __n2 :int )=>int" },
  { dao_std_0_string_compare_dao_4, "compare( self :stdcxx::string, __s :dao::string )=>int" },
  { dao_std_0_string_compare_dao_5, "compare( self :stdcxx::string, __pos :int, __n1 :int, __s :dao::string )=>int" },
  { dao_std_0_string_compare_dao_6, "compare( self :stdcxx::string, __pos :int, __n1 :int, __s :dao::string, __n2 :int )=>int" },
  { NULL, NULL }
};
static void Dao_std_0_string_Delete( void *self )
{
	delete (std::string*) self;
}

static DaoTypeBase std_0_string_Typer = 
{ "string", NULL,
  dao_std_0_string_Nums,
  dao_std_0_string_Meths,
  { NULL },
  { NULL },
  Dao_std_0_string_Delete,
  NULL
};
DaoTypeBase DAO_DLL_CXXSTL *dao_std_0_string_Typer = & std_0_string_Typer;
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_9( DaoContext *_ctx, DValue *_p[], int _n )
{

	std::string *_self = Dao_std_0_string_New(  );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_10( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::allocator<char>* __a= (std::allocator<char>*) DValue_CastCData( _p[0], dao_std_0_allocator_1_char_2__Typer );

	std::string *_self = Dao_std_0_string_New( *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_11( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* __str= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );

	std::string *_self = Dao_std_0_string_New( *__str );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_12( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* __str= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  unsigned long __n= (unsigned long) _p[2]->v.i;

	std::string *_self = Dao_std_0_string_New( *__str, __pos, __n );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_13( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* __str= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  unsigned long __n= (unsigned long) _p[2]->v.i;
  std::allocator<char>* __a= (std::allocator<char>*) DValue_CastCData( _p[3], dao_std_0_allocator_1_char_2__Typer );

	std::string *_self = Dao_std_0_string_New( *__str, __pos, __n, *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_14( DaoContext *_ctx, DValue *_p[], int _n )
{
  const char* __s= (const char*) DValue_GetMBString( _p[0] );
  unsigned long __n= (unsigned long) _p[1]->v.i;
  std::allocator<char>* __a= (std::allocator<char>*) DValue_CastCData( _p[2], dao_std_0_allocator_1_char_2__Typer );

	std::string *_self = Dao_std_0_string_New( __s, __n, *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
  DString_SetMBS( _p[0]->v.s, (char*) __s );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_15( DaoContext *_ctx, DValue *_p[], int _n )
{
  const char* __s= (const char*) DValue_GetMBString( _p[0] );
  std::allocator<char>* __a= (std::allocator<char>*) DValue_CastCData( _p[1], dao_std_0_allocator_1_char_2__Typer );

	std::string *_self = Dao_std_0_string_New( __s, *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
  DString_SetMBS( _p[0]->v.s, (char*) __s );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_16( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned long __n= (unsigned long) _p[0]->v.i;
  char __c= (char) _p[1]->v.i;
  std::allocator<char>* __a= (std::allocator<char>*) DValue_CastCData( _p[2], dao_std_0_allocator_1_char_2__Typer );

	std::string *_self = Dao_std_0_string_New( __n, __c, *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string( DaoContext *_ctx, DValue *_p[], int _n )
{

	std::string *_self = Dao_std_0_string_New(  );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::allocator<char>* __a= (std::allocator<char>*) DValue_CastCData( _p[0], dao_std_0_allocator_1_char_2__Typer );

	std::string *_self = Dao_std_0_string_New( *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* __str= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );

	std::string *_self = Dao_std_0_string_New( *__str );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* __str= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  unsigned long __n= (unsigned long) _p[2]->v.i;

	std::string *_self = Dao_std_0_string_New( *__str, __pos, __n );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_5( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* __str= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  unsigned long __n= (unsigned long) _p[2]->v.i;
  std::allocator<char>* __a= (std::allocator<char>*) DValue_CastCData( _p[3], dao_std_0_allocator_1_char_2__Typer );

	std::string *_self = Dao_std_0_string_New( *__str, __pos, __n, *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_6( DaoContext *_ctx, DValue *_p[], int _n )
{
  const char* __s= (const char*) DValue_GetMBString( _p[0] );
  unsigned long __n= (unsigned long) _p[1]->v.i;
  std::allocator<char>* __a= (std::allocator<char>*) DValue_CastCData( _p[2], dao_std_0_allocator_1_char_2__Typer );

	std::string *_self = Dao_std_0_string_New( __s, __n, *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
  DString_SetMBS( _p[0]->v.s, (char*) __s );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_7( DaoContext *_ctx, DValue *_p[], int _n )
{
  const char* __s= (const char*) DValue_GetMBString( _p[0] );
  std::allocator<char>* __a= (std::allocator<char>*) DValue_CastCData( _p[1], dao_std_0_allocator_1_char_2__Typer );

	std::string *_self = Dao_std_0_string_New( __s, *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
  DString_SetMBS( _p[0]->v.s, (char*) __s );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_string_dao_8( DaoContext *_ctx, DValue *_p[], int _n )
{
  unsigned long __n= (unsigned long) _p[0]->v.i;
  char __c= (char) _p[1]->v.i;
  std::allocator<char>* __a= (std::allocator<char>*) DValue_CastCData( _p[2], dao_std_0_allocator_1_char_2__Typer );

	std::string *_self = Dao_std_0_string_New( __n, __c, *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_operator_11_( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __str= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );

  std::basic_string<char>& _operator_11_ = self->string::operator=( *__str );
  DaoContext_WrapCData( _ctx, (void*)& _operator_11_, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_operator_11__dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );

  std::basic_string<char>& _operator_11_ = self->string::operator=( __s );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_WrapCData( _ctx, (void*)& _operator_11_, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_operator_11__dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  char __c= (char) _p[1]->v.i;

  std::basic_string<char>& _operator_11_ = self->string::operator=( __c );
  DaoContext_WrapCData( _ctx, (void*)& _operator_11_, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );

  std::string::size_type _size = self->string::size(  );
  DaoContext_PutInteger( _ctx, (int) _size );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_length( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );

  std::string::size_type _length = self->string::length(  );
  DaoContext_PutInteger( _ctx, (int) _length );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_max_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );

  std::string::size_type _max_size = self->string::max_size(  );
  DaoContext_PutInteger( _ctx, (int) _max_size );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_resize( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;
  char __c= (char) _p[2]->v.i;

  self->string::resize( __n, __c );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_resize_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;

  self->string::resize( __n );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_capacity( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );

  std::string::size_type _capacity = self->string::capacity(  );
  DaoContext_PutInteger( _ctx, (int) _capacity );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_reserve( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __res_arg= (unsigned long) _p[1]->v.i;

  self->string::reserve( __res_arg );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_clear( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );

  self->string::clear(  );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_empty( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );

  bool _empty = self->string::empty(  );
  DaoContext_PutInteger( _ctx, (int) _empty );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_operator_30_( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;

  std::string::const_reference _operator_30_ = self->string::operator[]( __pos );
  DaoContext_PutInteger( _ctx, (int) _operator_30_ );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_operator_30__dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;

  std::string::reference _operator_30_ = self->string::operator[]( __pos );
  DaoContext_PutInteger( _ctx, (int) _operator_30_ );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_at( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;

  std::string::const_reference _at = self->string::at( __n );
  DaoContext_PutInteger( _ctx, (int) _at );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_at_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;

  std::string::reference _at = self->string::at( __n );
  DaoContext_PutInteger( _ctx, (int) _at );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_operator_19_( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __str= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );

  std::basic_string<char>& _operator_19_ = self->string::operator+=( *__str );
  DaoContext_WrapCData( _ctx, (void*)& _operator_19_, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_operator_19__dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );

  std::basic_string<char>& _operator_19_ = self->string::operator+=( __s );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_WrapCData( _ctx, (void*)& _operator_19_, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_operator_19__dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  char __c= (char) _p[1]->v.i;

  std::basic_string<char>& _operator_19_ = self->string::operator+=( __c );
  DaoContext_WrapCData( _ctx, (void*)& _operator_19_, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_append( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __str= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );

  std::basic_string<char>& _append = self->string::append( *__str );
  DaoContext_WrapCData( _ctx, (void*)& _append, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_append_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __str= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[2]->v.i;
  unsigned long __n= (unsigned long) _p[3]->v.i;

  std::basic_string<char>& _append = self->string::append( *__str, __pos, __n );
  DaoContext_WrapCData( _ctx, (void*)& _append, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_append_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __n= (unsigned long) _p[2]->v.i;

  std::basic_string<char>& _append = self->string::append( __s, __n );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_WrapCData( _ctx, (void*)& _append, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_append_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );

  std::basic_string<char>& _append = self->string::append( __s );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_WrapCData( _ctx, (void*)& _append, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_append_dao_5( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;
  char __c= (char) _p[2]->v.i;

  std::basic_string<char>& _append = self->string::append( __n, __c );
  DaoContext_WrapCData( _ctx, (void*)& _append, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_push_back( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  char __c= (char) _p[1]->v.i;

  self->string::push_back( __c );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_assign( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __str= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );

  std::basic_string<char>& _assign = self->string::assign( *__str );
  DaoContext_WrapCData( _ctx, (void*)& _assign, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_assign_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __str= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[2]->v.i;
  unsigned long __n= (unsigned long) _p[3]->v.i;

  std::basic_string<char>& _assign = self->string::assign( *__str, __pos, __n );
  DaoContext_WrapCData( _ctx, (void*)& _assign, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_assign_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __n= (unsigned long) _p[2]->v.i;

  std::basic_string<char>& _assign = self->string::assign( __s, __n );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_WrapCData( _ctx, (void*)& _assign, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_assign_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );

  std::basic_string<char>& _assign = self->string::assign( __s );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_WrapCData( _ctx, (void*)& _assign, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_assign_dao_5( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __n= (unsigned long) _p[1]->v.i;
  char __c= (char) _p[2]->v.i;

  std::basic_string<char>& _assign = self->string::assign( __n, __c );
  DaoContext_WrapCData( _ctx, (void*)& _assign, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_insert_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos1= (unsigned long) _p[1]->v.i;
  std::string* __str= (std::string*) DValue_CastCData( _p[2], dao_std_0_string_Typer );

  std::basic_string<char>& _insert = self->string::insert( __pos1, *__str );
  DaoContext_WrapCData( _ctx, (void*)& _insert, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_insert_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos1= (unsigned long) _p[1]->v.i;
  std::string* __str= (std::string*) DValue_CastCData( _p[2], dao_std_0_string_Typer );
  unsigned long __pos2= (unsigned long) _p[3]->v.i;
  unsigned long __n= (unsigned long) _p[4]->v.i;

  std::basic_string<char>& _insert = self->string::insert( __pos1, *__str, __pos2, __n );
  DaoContext_WrapCData( _ctx, (void*)& _insert, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_insert_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  const char* __s= (const char*) DValue_GetMBString( _p[2] );
  unsigned long __n= (unsigned long) _p[3]->v.i;

  std::basic_string<char>& _insert = self->string::insert( __pos, __s, __n );
  DString_SetMBS( _p[2]->v.s, (char*) __s );
  DaoContext_WrapCData( _ctx, (void*)& _insert, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_insert_dao_5( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  const char* __s= (const char*) DValue_GetMBString( _p[2] );

  std::basic_string<char>& _insert = self->string::insert( __pos, __s );
  DString_SetMBS( _p[2]->v.s, (char*) __s );
  DaoContext_WrapCData( _ctx, (void*)& _insert, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_insert_dao_6( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  unsigned long __n= (unsigned long) _p[2]->v.i;
  char __c= (char) _p[3]->v.i;

  std::basic_string<char>& _insert = self->string::insert( __pos, __n, __c );
  DaoContext_WrapCData( _ctx, (void*)& _insert, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_erase( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  unsigned long __n= (unsigned long) _p[2]->v.i;

  std::basic_string<char>& _erase = self->string::erase( __pos, __n );
  DaoContext_WrapCData( _ctx, (void*)& _erase, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_replace( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  unsigned long __n= (unsigned long) _p[2]->v.i;
  std::string* __str= (std::string*) DValue_CastCData( _p[3], dao_std_0_string_Typer );

  std::basic_string<char>& _replace = self->string::replace( __pos, __n, *__str );
  DaoContext_WrapCData( _ctx, (void*)& _replace, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_replace_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos1= (unsigned long) _p[1]->v.i;
  unsigned long __n1= (unsigned long) _p[2]->v.i;
  std::string* __str= (std::string*) DValue_CastCData( _p[3], dao_std_0_string_Typer );
  unsigned long __pos2= (unsigned long) _p[4]->v.i;
  unsigned long __n2= (unsigned long) _p[5]->v.i;

  std::basic_string<char>& _replace = self->string::replace( __pos1, __n1, *__str, __pos2, __n2 );
  DaoContext_WrapCData( _ctx, (void*)& _replace, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_replace_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  unsigned long __n1= (unsigned long) _p[2]->v.i;
  const char* __s= (const char*) DValue_GetMBString( _p[3] );
  unsigned long __n2= (unsigned long) _p[4]->v.i;

  std::basic_string<char>& _replace = self->string::replace( __pos, __n1, __s, __n2 );
  DString_SetMBS( _p[3]->v.s, (char*) __s );
  DaoContext_WrapCData( _ctx, (void*)& _replace, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_replace_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  unsigned long __n1= (unsigned long) _p[2]->v.i;
  const char* __s= (const char*) DValue_GetMBString( _p[3] );

  std::basic_string<char>& _replace = self->string::replace( __pos, __n1, __s );
  DString_SetMBS( _p[3]->v.s, (char*) __s );
  DaoContext_WrapCData( _ctx, (void*)& _replace, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_replace_dao_5( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  unsigned long __n1= (unsigned long) _p[2]->v.i;
  unsigned long __n2= (unsigned long) _p[3]->v.i;
  char __c= (char) _p[4]->v.i;

  std::basic_string<char>& _replace = self->string::replace( __pos, __n1, __n2, __c );
  DaoContext_WrapCData( _ctx, (void*)& _replace, dao_std_0_string_Typer );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_copy( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  char* __s= (char*) DValue_GetMBString( _p[1] );
  unsigned long __n= (unsigned long) _p[2]->v.i;
  unsigned long __pos= (unsigned long) _p[3]->v.i;

  std::string::size_type _copy = self->string::copy( __s, __n, __pos );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _copy );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_swap( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __s= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );

  self->string::swap( *__s );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_c_str( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );

  const char* _c_str = self->string::c_str(  );
  DaoContext_PutMBString( _ctx, (char*) _c_str );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_data( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );

  const char* _data = self->string::data(  );
  DaoContext_PutMBString( _ctx, (char*) _data );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __pos= (unsigned long) _p[2]->v.i;
  unsigned long __n= (unsigned long) _p[3]->v.i;

  std::string::size_type _find = self->string::find( __s, __pos, __n );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _find );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __str= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find = self->string::find( *__str, __pos );
  DaoContext_PutInteger( _ctx, (int) _find );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find = self->string::find( __s, __pos );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _find );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  char __c= (char) _p[1]->v.i;
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find = self->string::find( __c, __pos );
  DaoContext_PutInteger( _ctx, (int) _find );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_rfind( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __str= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _rfind = self->string::rfind( *__str, __pos );
  DaoContext_PutInteger( _ctx, (int) _rfind );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_rfind_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __pos= (unsigned long) _p[2]->v.i;
  unsigned long __n= (unsigned long) _p[3]->v.i;

  std::string::size_type _rfind = self->string::rfind( __s, __pos, __n );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _rfind );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_rfind_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _rfind = self->string::rfind( __s, __pos );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _rfind );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_rfind_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  char __c= (char) _p[1]->v.i;
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _rfind = self->string::rfind( __c, __pos );
  DaoContext_PutInteger( _ctx, (int) _rfind );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_first_of( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __str= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find_first_of = self->string::find_first_of( *__str, __pos );
  DaoContext_PutInteger( _ctx, (int) _find_first_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_first_of_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __pos= (unsigned long) _p[2]->v.i;
  unsigned long __n= (unsigned long) _p[3]->v.i;

  std::string::size_type _find_first_of = self->string::find_first_of( __s, __pos, __n );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _find_first_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_first_of_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find_first_of = self->string::find_first_of( __s, __pos );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _find_first_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_first_of_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  char __c= (char) _p[1]->v.i;
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find_first_of = self->string::find_first_of( __c, __pos );
  DaoContext_PutInteger( _ctx, (int) _find_first_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_last_of( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __str= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find_last_of = self->string::find_last_of( *__str, __pos );
  DaoContext_PutInteger( _ctx, (int) _find_last_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_last_of_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __pos= (unsigned long) _p[2]->v.i;
  unsigned long __n= (unsigned long) _p[3]->v.i;

  std::string::size_type _find_last_of = self->string::find_last_of( __s, __pos, __n );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _find_last_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_last_of_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find_last_of = self->string::find_last_of( __s, __pos );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _find_last_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_last_of_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  char __c= (char) _p[1]->v.i;
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find_last_of = self->string::find_last_of( __c, __pos );
  DaoContext_PutInteger( _ctx, (int) _find_last_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_first_not_of( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __str= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find_first_not_of = self->string::find_first_not_of( *__str, __pos );
  DaoContext_PutInteger( _ctx, (int) _find_first_not_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_first_not_of_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __pos= (unsigned long) _p[2]->v.i;
  unsigned long __n= (unsigned long) _p[3]->v.i;

  std::string::size_type _find_first_not_of = self->string::find_first_not_of( __s, __pos, __n );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _find_first_not_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_first_not_of_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find_first_not_of = self->string::find_first_not_of( __s, __pos );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _find_first_not_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_first_not_of_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  char __c= (char) _p[1]->v.i;
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find_first_not_of = self->string::find_first_not_of( __c, __pos );
  DaoContext_PutInteger( _ctx, (int) _find_first_not_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_last_not_of( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __str= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find_last_not_of = self->string::find_last_not_of( *__str, __pos );
  DaoContext_PutInteger( _ctx, (int) _find_last_not_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_last_not_of_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __pos= (unsigned long) _p[2]->v.i;
  unsigned long __n= (unsigned long) _p[3]->v.i;

  std::string::size_type _find_last_not_of = self->string::find_last_not_of( __s, __pos, __n );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _find_last_not_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_last_not_of_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find_last_not_of = self->string::find_last_not_of( __s, __pos );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _find_last_not_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_find_last_not_of_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  char __c= (char) _p[1]->v.i;
  unsigned long __pos= (unsigned long) _p[2]->v.i;

  std::string::size_type _find_last_not_of = self->string::find_last_not_of( __c, __pos );
  DaoContext_PutInteger( _ctx, (int) _find_last_not_of );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_compare( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  std::string* __str= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );

  int _compare = self->string::compare( *__str );
  DaoContext_PutInteger( _ctx, (int) _compare );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_compare_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  unsigned long __n= (unsigned long) _p[2]->v.i;
  std::string* __str= (std::string*) DValue_CastCData( _p[3], dao_std_0_string_Typer );

  int _compare = self->string::compare( __pos, __n, *__str );
  DaoContext_PutInteger( _ctx, (int) _compare );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_compare_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos1= (unsigned long) _p[1]->v.i;
  unsigned long __n1= (unsigned long) _p[2]->v.i;
  std::string* __str= (std::string*) DValue_CastCData( _p[3], dao_std_0_string_Typer );
  unsigned long __pos2= (unsigned long) _p[4]->v.i;
  unsigned long __n2= (unsigned long) _p[5]->v.i;

  int _compare = self->string::compare( __pos1, __n1, *__str, __pos2, __n2 );
  DaoContext_PutInteger( _ctx, (int) _compare );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_compare_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  const char* __s= (const char*) DValue_GetMBString( _p[1] );

  int _compare = self->string::compare( __s );
  DString_SetMBS( _p[1]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _compare );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_compare_dao_5( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  unsigned long __n1= (unsigned long) _p[2]->v.i;
  const char* __s= (const char*) DValue_GetMBString( _p[3] );

  int _compare = self->string::compare( __pos, __n1, __s );
  DString_SetMBS( _p[3]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _compare );
}
/* /usr/include/c++/4.0.0/bits/basic_string.h */
static void dao_std_0_string_compare_dao_6( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::string* self= (std::string*) DValue_CastCData( _p[0], dao_std_0_string_Typer );
  unsigned long __pos= (unsigned long) _p[1]->v.i;
  unsigned long __n1= (unsigned long) _p[2]->v.i;
  const char* __s= (const char*) DValue_GetMBString( _p[3] );
  unsigned long __n2= (unsigned long) _p[4]->v.i;

  int _compare = self->string::compare( __pos, __n1, __s, __n2 );
  DString_SetMBS( _p[3]->v.s, (char*) __s );
  DaoContext_PutInteger( _ctx, (int) _compare );
}
/* /usr/include/c++/4.0.0/bits/stl_vector.h */
static DaoTypeBase std_0_vector_Typer = 
{ "vector", NULL, NULL, NULL, { NULL }, { NULL }, NULL, NULL };
DaoTypeBase DAO_DLL_CXXSTL *dao_std_0_vector_Typer = & std_0_vector_Typer;
/* /usr/include/c++/4.0.0/bits/stl_map.h */
static DaoTypeBase std_0_map_Typer = 
{ "map", NULL, NULL, NULL, { NULL }, { NULL }, NULL, NULL };
DaoTypeBase DAO_DLL_CXXSTL *dao_std_0_map_Typer = & std_0_map_Typer;
/* /usr/include/c++/4.0.0/bits/allocator.h */
static DaoTypeBase std_0_allocator_Typer = 
{ "allocator", NULL, NULL, NULL, { NULL }, { NULL }, NULL, NULL };
DaoTypeBase DAO_DLL_CXXSTL *dao_std_0_allocator_Typer = & std_0_allocator_Typer;
/* /usr/include/c++/4.0.0/bits/stl_vector.h */


static DaoNumItem dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Nums[] = 
{
  { NULL, 0, 0 }
};


static void dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__allocator_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__allocator_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__allocator( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__allocator_dao_2( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Meths[] = 
{
  { dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__allocator_dao_3, "allocator(  )=>class std::allocator<class std::basic_string<char> >" },
  { dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__allocator_dao_4, "allocator( __a :class std::allocator<class std::basic_string<char> > )=>class std::allocator<class std::basic_string<char> >" },
  { dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__allocator, "allocator(  )=>class std::allocator<class std::basic_string<char> >" },
  { dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__allocator_dao_2, "allocator( __a :class std::allocator<class std::basic_string<char> > )=>class std::allocator<class std::basic_string<char> >" },
  { NULL, NULL }
};
static void Dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Delete( void *self )
{
	delete (class std::allocator<class std::basic_string<char> >*) self;
}

static DaoTypeBase std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Typer = 
{ "allocator", NULL,
  dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Nums,
  dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Meths,
  { NULL },
  { NULL },
  Dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Delete,
  NULL
};
DaoTypeBase DAO_DLL_CXXSTL *dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Typer = & std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Typer;
/* /usr/include/c++/4.0.0/bits/allocator.h */
static void dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__allocator_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{

	class std::allocator<class std::basic_string<char> > *_self = Dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__New(  );
	DaoContext_PutCData( _ctx, _self, dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Typer );
}
/* /usr/include/c++/4.0.0/bits/allocator.h */
static void dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__allocator_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  class std::allocator<class std::basic_string<char> >* __a= (class std::allocator<class std::basic_string<char> >*) DValue_CastCData( _p[0], dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Typer );

	class std::allocator<class std::basic_string<char> > *_self = Dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__New( *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Typer );
}
/* /usr/include/c++/4.0.0/bits/allocator.h */
static void dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__allocator( DaoContext *_ctx, DValue *_p[], int _n )
{

	class std::allocator<class std::basic_string<char> > *_self = Dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__New(  );
	DaoContext_PutCData( _ctx, _self, dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Typer );
}
/* /usr/include/c++/4.0.0/bits/allocator.h */
static void dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__allocator_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  class std::allocator<class std::basic_string<char> >* __a= (class std::allocator<class std::basic_string<char> >*) DValue_CastCData( _p[0], dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Typer );

	class std::allocator<class std::basic_string<char> > *_self = Dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__New( *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_allocator_1_std_0_basic_string_1_char_2__10__2__Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_function.h */
static DaoTypeBase std_0_less_Typer = 
{ "less", NULL, NULL, NULL, { NULL }, { NULL }, NULL, NULL };
DaoTypeBase DAO_DLL_CXXSTL *dao_std_0_less_Typer = & std_0_less_Typer;
/* /usr/include/c++/4.0.0/bits/stl_map.h */


static DaoNumItem dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__Nums[] = 
{
  { NULL, 0, 0 }
};


static void dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__less( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__operator_6__7_( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__Meths[] = 
{
  { dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__less, "less(  )=>less" },
  { dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__operator_6__7_, "operator()( self :stdcxx::less<std::basic_string<char> >, __x :stdcxx::string, __y :stdcxx::string )=>int" },
  { NULL, NULL }
};
static void Dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__Delete( void *self )
{
	delete (std::less<std::basic_string<char> >*) self;
}

static DaoTypeBase std_0_less_1_std_0_basic_string_1_char_2__10__2__Typer = 
{ "less<std::basic_string<char> >", NULL,
  dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__Nums,
  dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__Meths,
  { NULL },
  { NULL },
  Dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__Delete,
  NULL
};
DaoTypeBase DAO_DLL_CXXSTL *dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__Typer = & std_0_less_1_std_0_basic_string_1_char_2__10__2__Typer;
static void dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__less( DaoContext *_ctx, DValue *_p[], int _n )
{
	std::less<std::basic_string<char> > *self = Dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__New();
	DaoContext_PutCData( _ctx, self, dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_function.h */
static void dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__operator_6__7_( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::less<std::basic_string<char> >* self= (std::less<std::basic_string<char> >*) DValue_CastCData( _p[0], dao_std_0_less_1_std_0_basic_string_1_char_2__10__2__Typer );
  std::string* __x= (std::string*) DValue_CastCData( _p[1], dao_std_0_string_Typer );
  std::string* __y= (std::string*) DValue_CastCData( _p[2], dao_std_0_string_Typer );

  bool _operator_6__7_ = self->less::operator()( *__x, *__y );
  DaoContext_PutInteger( _ctx, (int) _operator_6__7_ );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */


static DaoNumItem dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Nums[] = 
{
  { NULL, 0, 0 }
};


static void dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__allocator_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__allocator_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__allocator( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__allocator_dao_2( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Meths[] = 
{
  { dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__allocator_dao_3, "allocator(  )=>class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > >" },
  { dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__allocator_dao_4, "allocator( __a :class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > > )=>class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > >" },
  { dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__allocator, "allocator(  )=>class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > >" },
  { dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__allocator_dao_2, "allocator( __a :class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > > )=>class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > >" },
  { NULL, NULL }
};
static void Dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Delete( void *self )
{
	delete (class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > >*) self;
}

static DaoTypeBase std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Typer = 
{ "allocator", NULL,
  dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Nums,
  dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Meths,
  { NULL },
  { NULL },
  Dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Delete,
  NULL
};
DaoTypeBase DAO_DLL_CXXSTL *dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Typer = & std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Typer;
/* /usr/include/c++/4.0.0/bits/allocator.h */
static void dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__allocator_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{

	class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > > *_self = Dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__New(  );
	DaoContext_PutCData( _ctx, _self, dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Typer );
}
/* /usr/include/c++/4.0.0/bits/allocator.h */
static void dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__allocator_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > >* __a= (class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > >*) DValue_CastCData( _p[0], dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Typer );

	class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > > *_self = Dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__New( *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Typer );
}
/* /usr/include/c++/4.0.0/bits/allocator.h */
static void dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__allocator( DaoContext *_ctx, DValue *_p[], int _n )
{

	class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > > *_self = Dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__New(  );
	DaoContext_PutCData( _ctx, _self, dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Typer );
}
/* /usr/include/c++/4.0.0/bits/allocator.h */
static void dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__allocator_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > >* __a= (class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > >*) DValue_CastCData( _p[0], dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Typer );

	class std::allocator<struct std::pair<const class std::basic_string<char>, class std::basic_string<char> > > *_self = Dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__New( *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_allocator_1_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__10__2__Typer );
}
/* /usr/include/c++/4.0.0/bits/stl_map.h */


static DaoNumItem dao_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__Nums[] = 
{
  { NULL, 0, 0 }
};



static DaoFuncItem dao_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__Meths[] = 
{
  { NULL, NULL }
};
static void Dao_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__Delete( void *self )
{
	delete (struct std::pair<const class std::basic_string<char>, class std::basic_string<char> >*) self;
}

static DaoTypeBase std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__Typer = 
{ "pair", NULL,
  dao_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__Nums,
  dao_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__Meths,
  { NULL },
  { NULL },
  Dao_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__Delete,
  NULL
};
DaoTypeBase DAO_DLL_CXXSTL *dao_std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__Typer = & std_0_pair_1_const_10_std_0_basic_string_1_char_2__3_std_0_basic_string_1_char_2__10__2__Typer;
/* /usr/include/c++/4.0.0/bits/basic_string.h */


static DaoNumItem dao_std_0_allocator_1_char_2__Nums[] = 
{
  { NULL, 0, 0 }
};


static void dao_std_0_allocator_1_char_2__allocator_dao_3( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_allocator_1_char_2__allocator_dao_4( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_allocator_1_char_2__allocator( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_std_0_allocator_1_char_2__allocator_dao_2( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_std_0_allocator_1_char_2__Meths[] = 
{
  { dao_std_0_allocator_1_char_2__allocator_dao_3, "allocator(  )=>stdcxx::allocator<char>" },
  { dao_std_0_allocator_1_char_2__allocator_dao_4, "allocator( __a :stdcxx::allocator<char> )=>stdcxx::allocator<char>" },
  { dao_std_0_allocator_1_char_2__allocator, "allocator(  )=>stdcxx::allocator<char>" },
  { dao_std_0_allocator_1_char_2__allocator_dao_2, "allocator( __a :stdcxx::allocator<char> )=>stdcxx::allocator<char>" },
  { NULL, NULL }
};
static void Dao_std_0_allocator_1_char_2__Delete( void *self )
{
	delete (std::allocator<char>*) self;
}

static DaoTypeBase std_0_allocator_1_char_2__Typer = 
{ "allocator<char>", NULL,
  dao_std_0_allocator_1_char_2__Nums,
  dao_std_0_allocator_1_char_2__Meths,
  { NULL },
  { NULL },
  Dao_std_0_allocator_1_char_2__Delete,
  NULL
};
DaoTypeBase DAO_DLL_CXXSTL *dao_std_0_allocator_1_char_2__Typer = & std_0_allocator_1_char_2__Typer;
/* /usr/include/c++/4.0.0/bits/allocator.h */
static void dao_std_0_allocator_1_char_2__allocator_dao_3( DaoContext *_ctx, DValue *_p[], int _n )
{

	std::allocator<char> *_self = Dao_std_0_allocator_1_char_2__New(  );
	DaoContext_PutCData( _ctx, _self, dao_std_0_allocator_1_char_2__Typer );
}
/* /usr/include/c++/4.0.0/bits/allocator.h */
static void dao_std_0_allocator_1_char_2__allocator_dao_4( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::allocator<char>* __a= (std::allocator<char>*) DValue_CastCData( _p[0], dao_std_0_allocator_1_char_2__Typer );

	std::allocator<char> *_self = Dao_std_0_allocator_1_char_2__New( *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_allocator_1_char_2__Typer );
}
/* /usr/include/c++/4.0.0/bits/allocator.h */
static void dao_std_0_allocator_1_char_2__allocator( DaoContext *_ctx, DValue *_p[], int _n )
{

	std::allocator<char> *_self = Dao_std_0_allocator_1_char_2__New(  );
	DaoContext_PutCData( _ctx, _self, dao_std_0_allocator_1_char_2__Typer );
}
/* /usr/include/c++/4.0.0/bits/allocator.h */
static void dao_std_0_allocator_1_char_2__allocator_dao_2( DaoContext *_ctx, DValue *_p[], int _n )
{
  std::allocator<char>* __a= (std::allocator<char>*) DValue_CastCData( _p[0], dao_std_0_allocator_1_char_2__Typer );

	std::allocator<char> *_self = Dao_std_0_allocator_1_char_2__New( *__a );
	DaoContext_PutCData( _ctx, _self, dao_std_0_allocator_1_char_2__Typer );
}
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C"{
#endif
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C"{
#endif
#ifdef __cplusplus
}
#endif
